<template>
  <div>
    <p class="title">推荐歌单</p>
    <!-- gutter 列元素之间的间距（单位为 px） -->
    <van-row gutter="10">
      <!-- 24列栅格 -->
      <van-col span="8" v-for="item in list" :key="item.id">
        <!-- 增强版的 img 标签，提供多种图片填充模式，支持图片懒加载、加载中提示、加载失败提示。 -->
        <!-- cover填充模式比contain效果看上去要好 -->
        <van-image width="100%" height="3rem" fit="cover" :src="item.picUrl" />
        <p class="song_name">{{ item.name }}</p>
      </van-col>
    </van-row>
    <p class="title">最新音乐</p>
    <van-cell-group>
      <SongItem
        v-for="item in Newlist"
        :key="item.id"
        :title="item.name"
        :label="item.song.artists[0].name"
        :id="item.id"
      ></SongItem>
    </van-cell-group>
    <!-- <van-cell
      center
      :title="item.name"
      :label="item.song.artists[0].name"
      v-for="item in Newlist"
      :key="item.id"
    >
      <template #right-icon>
        <van-icon name="play-circle-o" class="play-icon" />
      </template>
    </van-cell> -->
  </div>
</template>
  
<script>
// 按需引入
import { getSong, getNewSong } from "@/api/Home.js";
export default {
  name: "Home",
  data() {
    return {
      list: [],
      Newlist: [],
    };
  },
  // 调用方法请求数据
  created() {
    this.getSong();
    this.getNewSong();
  },
  methods: {
    // 获取推荐歌曲 封装了请求
    async getSong() {
      const res = await getSong();
      // console.log(res);
      const { code, result } = res;
      if (code === 200) {
        this.list = result;
      }
    },
    // 获取推荐新音乐  默认拿10条数据
    async getNewSong() {
      // 直接解构 因为响应拦截器里面已经处理了data
      const { code, result } = await getNewSong();
      // console.log(result);
      // const { code, result } = res;
      if (code === 200) {
        this.Newlist = result;
      }
    },
  },
};
</script>
  
<style scoped>
/* 标题 */
.title {
  padding: 0.266667rem 0.24rem;
  margin: 0 0 0.24rem 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
}
/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 0.346667rem;
  padding: 0 0.08rem;
  margin-bottom: 0.266667rem;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
  -webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2; /** 显示的行数 **/
  overflow: hidden; /** 隐藏超出的内容 **/
}
.play-icon {
  font-size: 30px;
  line-height: inherit;
}
</style>